CREATE FUNCTION fn_GetParameter (@StoreCode char(6), @Terminal char(3), @Parameter varchar(25))
RETURNS @Parameters TABLE (PARAMETRO varchar(25), TIPO_DADO char(1), VALOR_ATUAL varchar(100))
AS
BEGIN
	IF @StoreCode IS NULL
	BEGIN
		IF OBJECT_ID('PARAMETROS') IS NOT NULL
			INSERT @Parameters SELECT PARAMETRO, TIPO_DADO, VALOR_ATUAL FROM PARAMETROS (NOLOCK) WHERE (PARAMETRO LIKE @Parameter OR @Parameter IS NULL) ORDER BY PARAMETRO
		ELSE
			INSERT @Parameters SELECT @Parameter, '', ''
	END
	ELSE
	BEGIN
		IF @Terminal IS NULL
		BEGIN
			IF OBJECT_ID('W_PARAMETROS_LOJA') IS NOT NULL 
				INSERT @Parameters SELECT PARAMETRO, TIPO_DADO, VALOR_ATUAL FROM W_PARAMETROS_LOJA (NOLOCK) WHERE (PARAMETRO LIKE @Parameter OR @Parameter IS NULL) AND CODIGO_FILIAL = @StoreCode ORDER BY PARAMETRO
			ELSE
				INSERT @Parameters SELECT PARAMETRO, TIPO_DADO, VALOR_ATUAL FROM fn_GetParameter(null, @Terminal, @Parameter)
		END
		ELSE
		BEGIN
			IF OBJECT_ID('W_PARAMETROS_LOJA_TERMINAL') IS NOT NULL 
				INSERT @Parameters SELECT PARAMETRO, TIPO_DADO, VALOR_ATUAL FROM W_PARAMETROS_LOJA_TERMINAL (NOLOCK) WHERE (PARAMETRO LIKE @Parameter OR @Parameter IS NULL) AND CODIGO_FILIAL = @StoreCode AND TERMINAL = @Terminal ORDER BY PARAMETRO
			ELSE
				INSERT @Parameters SELECT PARAMETRO, TIPO_DADO, VALOR_ATUAL FROM fn_GetParameter(null, null, @Parameter)
		END
	END

	RETURN 
END
